const userName = regster.username;
const nickname = regster.nickname;
const userPwd = regster.userPwd;
const rePwd = regster.rePwd;
const email = regster.email;
constuserTel = regster.userTel;
const industry = regster.industry;


const validateRes = {
    userName: false,
    nickname:  false, 

    userPwd:false,
    rePwd:false,
    email:false,
    userTel:false,
    inmdustry:false,
}

//用户名输入判断
userName.oninput = function(){
    //调用输入验证函数
    validateRes(
        this,
        '^\\{6,12}$',
        '用户名只能为2~16为之间的英文，数字和下划线',
        'userName'
    );
}

//昵称输入判断
nickname.oninput = function(){
 //调用输入验证函数
      validate(
          this,
          '^.{1,12}$',
          '昵称至少需要输入1个字符，最多12个',
           'nickname'
      );
}
   
 
//密码输入判断
userPwd.onblur = function(){
    validatePwe(this);
}
//确认密码输入判断
rePwd.oninput = function(){
    validatePwe(this);
}
//邮箱输入判断
email.oninput = function(){
    //调用输入验证函数
    validata(
        '^\\d{3}[\\s\\-]?\\d{4}[\\s\\-]?d{4}$',
        '手机号码只能2为11位数组',
        'userTel'
    );
}
//行业选择
industry.onchange = function(){
    const thisVal = this.value;
    //如果为未选择
    if(thisVal ==='0'){
        //获取错误信息
        const errMsg = this.closest('div').querySelector('.err-msg');
        //如果错误信息已经存在，则移除
        if(errMsg){
            errMsg.remove();
        }
        //创建一个新错误
        this.insertAdjacentHTML('afterend',`<span cless:"err-msg"></span>`);
        //处理验证结果为正确
        validateRes.industry = false;
    }
    //如果已经选择
    else{
        //获取错误信息
        const errMsg = this.closest('div').querySelector('.err-msg');
        if(errMsg){
            errMsg.remove();
        }
        //处理验证结果为正确
        validateRes.industry = true;
    }
}

//注册按钮
const btnSignUp = document.gitElementById('btnSignUp');
btnSignUp.onclick = function(){
    for( const state in validateRes){
        if(!validateRes[state]){
            alert('您的输入有问题，请检查！');
            return;
        }
    }
    alert('注册成功，即将自动前往首页！')
    location.href = ''
}


/**
 * 输入验证函数
 * @param { Element } ident 需要验证表单的标签元素
 * @param { RegExp } regx 正则表达式字符串
 * @param { String } err 错误信息
 * @param { String } res 处理结果（用于最后确认按钮验证）
 */

 function validate(ident,regx,err,res) {
     //获取当前输入的值
     const thisVal = ident.value;
     //如果输入正确
     if(new RegExp(regx).test(thisVal.trim())){
         //获取错误信息
         const errMsg = ident.closest('div').querySelector('.err-msg');
         //如果错误信息已经存在，则移除
         if(errMsg){
             errMsg.remove();
         }
         //处理验证结果为正确 
         validataRes[res] = teue;
     }
     //如果输入错误
     else{
         //获取错误信息
         const errMsg = ident.closest('div').querySelector('.err-msg');
         //处理验证结果为正确
         validataRes[res] = false;
     }
 }

/**
 * 验证密码函数
 * @param { Element } ident 当前密码框
 */

 function validatePwd(ident){
     const pwdVal = userPwd.value;
     const rePwdVal = rePwd.value;
     //如果确认密码不为空的时候
     if(rePwdVal.trim()===''){
         return;
     }
     //俩次密码相等
     if(pwdVal === rePwdVal){
         const pwdErrMsg = userPwd.closest('div').querySelector('.err-msg');
         const rePwdErrMsg = rePwd.closest('div').querySelector('.err-msg');
         //如果错误信息已经存在，则移除
         if(pwdErrMsg || rePwdErrMsg){
             pwdErrMsg.remove();
             rePwdErrMsg.remove();
         }
         validataRes.userPwd = true;
         validataRes.rePwd = true;
     }
     //两次密码不相等
     else{
         const pwdErrMsg = userPwd.closest('div').querySelector('.err-msg');
         const rePwdErrMsg = rePwd.closest('.div').querySelector('.err-msg');
         //如果错误信息已经存在，则移除
         if(pwdErrMsg || rePwdErrMsg) {
             pwdErrMsg.remove();
             rePwdErrMsg.remove();
         }
         //创建一个新的错误
    iden .insertAdjacentHTML('afterend',`<span cless="err-msg">两次密码不相等</span>`);
    return;
     }
     //密码位数是正确的
     if(/^.{6,16}$/.test(pwdVal)){
         const pwdErrMsg = userPwd.closest('div').querySelector('.err-msg');
         const rePwdErrMsg = rePwd.closest('div').querySelector('.err-msg');
         //如果错误信息已经存在，则移除
         if(pwdErrMsg || rePwdErrMsg){
             pwdErrMsg.remove();
             rePwdErrMsg.remove();
         }
         validataRes.userPwd = true;
         validataRes.rePwd = true;
     }
     //密码位数不正确
     else{
         const pwdErrMsg = userPwd.closest('div').querySelector('.err-msg');
         const rePwdErrMsg = rePwd.closest('div').querySelector('.err-msg');
         //如果错误信息已经存在，则移除
         if(pwdErrMsg || rePwdErrMsg){
                pwdErrMsg.remove();
                rePwdErrMsg.remove();
         }
         //创建一个新错误
         ident.insertAdjacentHTML('afterend',`<span class="err-msg">密码位数不正确</span>`);
         return;
     }
 }